package org.javahispano.javacup.tacticas.tacticas_aceptadas.emandem.controladores;

import org.javahispano.javacup.modelo.comando.ComandoGolpearBalon;
import org.javahispano.javacup.modelo.util.Constantes;
import org.javahispano.javacup.modelo.util.Posicion;
import org.javahispano.javacup.modelo.engine.SituacionPartido;

public class ControladorTirosPortero {
	
	private static ControladorTirosPortero instance;
	
	static {
		instance = new ControladorTirosPortero();
	}
	
	private ControladorTirosPortero() {

	}

	public static ControladorTirosPortero getInstance() {
		return instance;
	}

	public ComandoGolpearBalon getTiro(final int jugador, final SituacionPartido situacionPartido) {
		Posicion destinoBola = null;
		double ejeXDestino = ControladorUtils.getInstance().generaNumeroDobleAleatorioEntre(0, 34);
		double fuerzaRemate = 1;
		boolean tiraLadoDerecho = ControladorUtils.getInstance().generaBoleanoAleatorioEntre();

		destinoBola = Constantes.centroArcoSup;
		if (tiraLadoDerecho) {
			destinoBola.setPosicion((ejeXDestino * -1), destinoBola.getY());
		} else {
			destinoBola.setPosicion(ejeXDestino, destinoBola.getY());
		}

		return new ComandoGolpearBalon(jugador, destinoBola, fuerzaRemate, 30);
	}
}
